<!-- 普通模式演示(vue) -->
<template>
	<view class="content">
		<z-paging ref="paging" v-model="dataList" @query="queryList">
			<z-tabs slot="top" @change="tabChange" :list="tabList"></z-tabs>
			<view class="item" v-for="(item,index) in dataList" :key="index" @click="itemClick(item,index)">
				<view class="row" >
					<view style="display: flex;flex-direction: column;flex:1;justify-content: space-around">
						<view class="title">{{item.name}}</view>
						<view>{{item.remark}}</view>
					</view>
					<view style="display: flex;padding: 20rpx;">
						<ln-dial :telephone="item.mobile">
							<image mode="widthFix" style="width: 80rpx;" src="/static/icon/phone.png"></image>
						</ln-dial> 
					</view>
				</view>
				
				<view class="item-line"></view>
			</view>
		</z-paging>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				//v-model绑定的这个变量不要在分页请求结束中自己赋值！！！
				dataList: [],
				tabList: ['待跟进','已跟进','收藏夹'],
				tabIndex: 0,
			}
		},
		methods: {
			tabChange(index) {
				this.tabIndex = index;
				//当切换tab或搜索时请调用组件的reload方法，请勿直接调用：queryList方法！！
				this.$refs.paging.reload();
			},
			queryList(pageNo, pageSize) {
				
				
				
				//组件加载时会自动触发此方法，因此默认页面加载时会自动触发，无需手动调用
				//这里的pageNo和pageSize会自动计算好，直接传给服务器即可
				//模拟请求服务器获取分页数据，请替换成自己的网络请求
				const params = {
					sort:'id',
					order:'desc',
					offset:pageNo*pageSize-pageSize,
					limit:pageNo*pageSize,
					type: this.tabIndex + 1
				}
				this.$api.user.customer(this.$api.objectToQuery(params)).then((res)=>{
					console.log(res)
					this.$refs.paging.complete(res.data.data);
				}).catch((err)=>{
					console.log(err)
					this.$refs.paging.complete(false);
				})
				// this.$request.queryList(4).then(res => {
				// 	//将请求的结果数组传递给z-paging
				// 	this.$refs.paging.complete(res.data.list);
				// }).catch(res => {
				// 	//如果请求失败写this.$refs.paging.complete(false);
				// 	//注意，每次都需要在catch中写这句话很麻烦，z-paging提供了方案可以全局统一处理
				// 	//在底层的网络请求抛出异常时，写uni.$emit('z-paging-error-emit');即可
				// 	this.$refs.paging.complete(false);
				// })
			},
			itemClick(item, index) {
				// console.log('点击了', item.mobile);
			}
		}
	}
</script>

<style>
	.row{
		display: flex;
		flex-direction: row;
		width: 100%;
	}
	.item {
		position: relative;
		height: 150rpx;
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 0rpx 30rpx;
	}

	.item-detail {
		padding: 5rpx 15rpx;
		border-radius: 10rpx;
		font-size: 28rpx;
		color: white;
		background-color: #007AFF;
	}

	.item-line {
		position: absolute;
		bottom: 0rpx;
		left: 0rpx;
		height: 1px;
		width: 100%;
		background-color: #eeeeee;
	}
</style>
